// pages/me/me.js
Page({
  data: {
    userInfo: {
      nickName: "点击登录", //绑定昵称
      avatarUrl: "https://img.yzcdn.cn/vant/cat.jpeg" //未登录时的默认头像
    },
    logined: false,
  },
  // 当双击按钮时触发，执行该方法
  // handleDoubleTap(event){
  //   console.log("触发了双击事件....",event.detail);
  // },
  // 点击登录按钮
  tapLogin() {
    if (this.data.logined) {
      // 判断是否已经登录
      return
    }
    wx.getUserProfile({
      desc: '请授权获取用户信息',
      success: (res) => {
        this.setData({
          userInfo: res.userInfo,
          logined: true
        })
        // 查找数据库
        let db = wx.cloud.database()
        db.collection("users").get().then(queryRes => {
          if (queryRes.data.length == 0) {
            // 没有查到用户没有注册过，则需要注册用户到users中 调用 regist函数 将用户信息传递过去，存入数据库
            this.regist(res.userInfo)
          } else {
            // 查到了，获取users集合中最新的数据，更新界面中的用户信息
            let userInfo = queryRes.data[0]
            this.setData({
              userInfo
            })
          }
        })
      }
    })
  },
  // 注册业务，将userInfo添加到users合集中
  regist(userInfo) {
    let db = wx.cloud.database()
    db.collection("users").add({
      data: userInfo
    }).then(res => {
      // console.log("注册用户", res);
    })
  },

// 注册业务完成------------------------------------------------------------------------------------------------------------------------

  // 点击头像后触发该事件
  tapAvatarUrl() {
    // 如果用户已经登录再头像更换
    if (!this.data.logined) {
      return //用户没有登录
    }
    // 弹出窗口，让用户选择图片
    wx.chooseMedia({
      count: 9,
      mediaType: ["image"],
      success: (res) => {
        let path = res.tempFiles[0].tempFilePath
          // 将选中的图片存储到云存储
        this.upload(path)
        // 更新用户头像内容
        let userInfo = this.data.userInfo
        userInfo.avatarUrl=path
        this.setData({
          userInfo
        })
      },
    })
  },

  upload(path) {
    let ext = path.split(".").pop()  //返回后缀名
    let cloudPath=`${Date.now()}-${Math.random()}.${ext}`  //存储路径文件名
    wx.cloud.uploadFile({
      cloudPath: cloudPath, // 本地存储路径文件名
      filePath: path, // 上传至云端的文件路径
      success: res => {
        let fileID = res.fileID   //图片链接
        // 更新用户头像路径为fileID
        // 修改users集合中当前的avatarURL字段
        this.updataUserAvatar(fileID)
      },
    })
  },
  // 修改用户的头像字段为fileID
  updataUserAvatar(fileID){
    let db = wx.cloud.database()
    db.collection("users").doc(this.data.userInfo._id).update({
      data:{
        avatarUrl:fileID
      }
    }).then(res=>{
      console.log("修改成功",res);
    })
  },




  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})